#ifndef CONTROLPOINTSTRUCT_H
#define CONTROLPOINTSTRUCT_H

#include <QDebug>
#include "DataType/PortStruct.h"
#include <QStringList>
class ControlPointStruct
{
public:
    ControlPointStruct();

    quint16 address() const;
    void setAddress(const quint16 &address);

    quint16 value() const;
    void setValue(const quint16 &value);

    quint64 delayTime() const;
    void setDelayTime(quint64 delayTime);

        quint8 thirdFuncLen() const;
        void setThirdFuncLen(quint8 len);

        QByteArray thirdFuncList() const;
        void setThirdFuncList(QByteArray list);

/*
         quint16 knxGroupeAddress() const;
        void setKnxGroupeAddress(quint16 address);

         quint16 knxLen() const;
        void setKnxLen(quint16 len);

        QByteArray knxDataList() const;
        void setKnxDataList(QByteArray dataList);*/

  //  void setPortStruct(const PortStruct &Targe);
 //   PortStruct getPortStruct()const;
//    void setPortList(QStringList QSlist);
//    QStringList PortList();
    QList<QString> Portlist()const;
    void JoinPortList(QString data);
    void clearnPortList();

    bool operator ==(const ControlPointStruct& rhs) const; //重载相等

    bool operator <(const ControlPointStruct& rhs) const;


private:

    quint16 m_address;
    quint16 m_value;
    quint64 m_delayTime;
    QList<QString> m_Portlist;
    quint8 m_thirdFuncLen;
    QByteArray m_thirdFuncArray;
   // quint16 m_knxGroupAddress;
   // quint16 m_knxLen;
   // QByteArray m_knxDataList;

};

Q_DECLARE_METATYPE(ControlPointStruct)
QDebug operator <<(QDebug debug, const ControlPointStruct &controlPoint);

uint qHash(const ControlPointStruct &key);

#endif // CONTROLPOINTSTRUCT_H
